Part Number Hot Search : 
ALH60Y48 BP51L12 2N7002T MB2374BB UPA1715G DB25SN24 SD5300N 1N2805A
Product Description
Full Text Search
 

To Download HI-3110 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  avionics can controller with integrated transceiver HI-3110 september 2011 general description features the HI-3110 is a standalone provides a complete, integrated, cost-effective solution for avionics applications implementing the can 2.0b specification and can be configured to comply with both the arinc 825 (general standardization of can bus protocol for airborne use) and canaerospace standards. the hi- 3110 is capable of transmitting and receiving standard data frames, extended data frames and remote frames. the internal transceiver allows direct connection to the can bus without using external components and coupled with the host serial peripheral interface (spi), results in minimal board space. the HI-3110 provides the optimum solution for applications where minimum host (mcu) overhead is required, filtering unwanted messages using a maskable identifier filter and storing up to 8 messages in the receive fifo. a transmissions are handled using an 8 message transmit fifo. a transmit enable pin can be used by the host to initiate a transmission. the device also provides monitor or listen-only mode, low power sleep mode, loopback mode for self-test and a r the HI-3110 family is available in industrial and full extended temperature ranges, with a rohs compliant lead-free option. implements can version 2.0b with programmable bit rate up to 1mbit/sec. iso 11898-5 compliant. configurable to support arinc 825 and canaerospace standards. standard, extended and remote frames supported. 8 maskable identifier filters. filtering on id and first two data bytes for both standard and extended identifiers. loopback mode for self-test. monitor (listen-only) and low power sleep . 8-message transmit and receive fifos. internal 16-bit free running counter for time tagging of transmitted or received messages. controller area network (can) controller with built in transceiver. the device flexible interrupt scheme allows real time servicing of the fifo by the host, if required. e-transmission disable capability (necessary to implement ttcan protocol). the hi-3111 is a digital only version of the HI-3110 (no transceiver). this version provides a protocol only solution for customers who wish to use an external transceiver and may be used in situations where the customer requires galvanic isolation between the bus and digital protocol logic. the hi-3112 provides an option of a clkout pin instead of a split pin, which may be used as the main system clock or as a clock input for other devices in the system. finally, the hi-3113 provides all options (both clkout and split pins) in a very compact qfn-44 package. serial peripheral interface (spi) (20mhz). modes with automatic wake-up possible permanent dominant timeout protection. short circuit protection of -58v to + 58v on can_h, can_l and split pins (iso 11898-5). re-transmission disable capability. transmit enable pin. industrial and full extended temperature ranges supported: industrial: -40 c to + 85 c. extended: -55 c to + 125 c.                oo oo pin configuration (top view) 3110psi 3110pst 3110psm vlogic 1 oscout 2 oscin 3 gp1 4 gp2 5 txen 6 split 7 gnd 8 canl 9 18 int 17 16 15 so 14 si 13 sck 12 stat 11 vdd 10 canh mr cs 18-pin plastic soic - wb package (ds3110 rev. a) 09/11 holt integrated circuits www.holtic.com
block diagram spi protocol block registers block handles data transfers between the host and the chip stores configuration data sets the data strobe and bit period transmit block manages transmission protocol 8 message fifo confirmation and time stamp of each message sent is available in the history fifo bit timing block receiver block error block status and interrupt oscillator transceiver manages reception protocol 8 message fifo with optional filters forwards message data and optional time stamp to the host detects and records errors for protocol management provides hardware and software options for managing communications configuration chooses either the crystal oscillator or and external clock analog interface connects directly to the can bus primary functions of HI-3110 logic blocks oscout oscin gp1 gp2 sck si so spi bus HI-3110 cs int vdd gnd mr transceiver canl canh stat txen vlogic oscillator interrupts and status error status & control registers transmit logic & fifo history fifo receive logic & fifo filters spi decode/ encode bit timing clkout (see ordering information) clock div out time-tag counter split (see ordering information) figure 1. HI-3110 block diagram HI-3110 holt integrated circuits 2
HI-3110 signal function description internal pull up / down sck input spi clock. data is shifted into or out of the spi interface using sck 50k ohm pull-down input chip select. data is shifted into si and out of so when is low. 50k ohm pull-up si input spi interface serial data input 50k ohm pull-down so output spi interface serial data output int output active high. programmable interrupt output stat output active high. programmable status output. txen input 0k ohm pull-down oscin input crystal input. a parallel resonant crystal can be connected between oscin and oscout. if an external clock is used, it should be connected to the oscin pin and the oscout pin should be left floating. the internal oscillator should be shut off by setting the oscoff bit in the ctrl1 register. oscout output crystal output. if an external clock is used, this pin should be left floating and disabled by setting the oscoff bit in the ctrl1 register. gp1 output general purpose pin 1, which can be programmed to reflect the values of interrupt and status flag bits. gp2 output general purpose pin 2, which can be programmed to reflect the values of interrupt and status flag bits. clkout output clock output pin with programmable frequency divider. split output vdd/2 output bias (powered off in sleep mode and when the common mode bias is greater than 25v). canh bus i/o can bus line high. canl bus i/o can bus line low. mr input active high. device master reset input pin. asserting this pin resets all registers 50k ohm pull-down and memory buffers to their default state at start-up. vdd power 5v supply voltage input. gnd power supply voltage ground. cs cs active high. transmit enable pin. when the txen pin is asserted, any message 10 in the transmit fifo will be automatically loaded to the transmit buffer and sent if the bus is available. this pin is logically ored with the txen and tx1m bits in the ctrl1 register. when the txen pin is reset, messages loaded to the fifo will not be sent until txen or tx1m bits are set in the ctrl1 register. vlogic power 3.3v supply voltage input. this supply is used to drive the host digital logic i/o. it can either be connected directly to vdd (+5v) or a +3.3v supply. pin descriptions holt integrated circuits 3
functional overview iso 11898- 1:2003(e) specification iso 11898-5 specification. the HI-3110 is the first single chip product to integrate both the can (controller area network) protocol and analog interface transceiver on a single ic. the protocol conforms to can version 2.0b and is compliant with . the transceiver is compliant with configuration options include an internal loopback mode that does not disturb the bus, a monitor only mode, and a sleep mode that includes an option to either wake up automatically when data is present on the bus, or by host command. the following sections describe some of the key features. to minimize the footprint, a 20 mhz standard four wire spi (serial peripheral interface) is provided to manage the flow of data between the host microcontroller and the HI-3110. complete messages are loaded and retrieved with single spi op codes. on the receive side, spi op code options may be used to retrieve the whole message or just the data. an option to include a time tag or no time tag may also be specified. on the transmit side, each message can be assigned an identifier which allows monitoring of the transmit history fifo to confirm the successful completion of a transmission along with the time stamp. in addition the transmitter logic automatically assembles the message frame based on the data presented. bit timing is controlled with standard can options. these include control of the resychronization jump width (sjw), prop delay phase seg 1 (tseg1), phase seg 2 (tseg2), the number of samples, and the derivation of tq from the system clock using a prescaler. the maximum bit rate is 1 mbit/sec. upon reset, the chip automatically enters initialization mode which allows programming of the bit timing before entering normal mode. the transmitter state machine automatically handles all can 2.0b protocol requirements. messages for transmission are first loaded into a fifo and transmission may start upon availability of data in the fifo. assertion of the txen pin or configuration bits in control register 1 allow either continuous transmission until the fifo is empty or only one message from the fifo at a time. one shot (no retry) transmission may also be enabled by setting the osm bit. spi op codes are provided to clear the transmit fifo and to abort transmission. the receiver state machine automatically handles all can 2.0b protocol requirements. the receiver supports eight sets of filters and masks and each allows filtering of a full can id (extended or not) and two bytes of data. even when filtering is enabled, message data is always accessible as received via the temporary receive buffer, and retrievable by spi op codes 0x42 and 0x44. if the filter/mask option is set (filton bit in control register 1), only messages that match one of the 8 stored data patterns are passed into the fifo. note that the mask option allows certain bits of the programmed filter bits to be don't care. if the filter/mask option is not set, then all valid messages are passed to the fifo. when the fifo is full (8 completed messages received), the next received message is not loaded in the fifo. errors are detected per iso 11898-1:2003(e) and detections are counted and used by the protocol state machines. active, passive, and bus off conditions are managed per the can standard. a configuration bit is provided to allow automatic recovery from bus off. the message status register, messtat, provides information about the current state of the receiver and transmitter operation. in addition, the interrupt flag register, intf, monitors 8 operational conditions, any or all of which may be directed to the int pin by enabling bits in the interrupt enable register, inte. similarly, the status flag register, statf, bits reflect the status of selected fifo and error properties. any or all of these conditions may be directed to the stat pin by setting the enable bits in the status flag enable register, statfe. to provide additional hardwired flag options, the gp1 and gp2 pins may also be programmed to reflect any of the interrupt or status flag bits. a configuration bit allows a choice for the source of the system clock. either the on-board crystal oscillator may be selected or an external clock may be provided at the oscin pin. on product versions with the clkout pin, a programmable division of the system clock is provided. the clock source for the 16 bit time tag counter is derived from a separate programmable division of the system clock. spi op codes provide for reading and resetting the time tag counter. spi and registers bit timing transmitter receiver error control status and interrupts oscillator and time tag HI-3110 holt integrated circuits 4
transceiver protection features the HI-3110 contains an integrated transceiver operating from 5v and the line driver is capable of maintaining a detectable signal for bus lengths well in excess of recommended can 2.0b standards. the digital logic and io can be powered from 3.3v or 5v. the bus and split pins are protected against esd to over 4kv (hbm) and from shorts between -58v to +58v continuous, as specified in iso 11898-5. in addition, a permanent dominant timeout protection is implemented by means of an independent counter monitoring the dominant transmission state and automatically shutting off the transmission if it exceeds typically 2ms. a low power receiver monitors the bus for a detectable dominant bit. the HI-3110 supports five modes of operation, namely, initialization mode, normal mode, loopback mode, monitor mode and sleep mode. initialization mode is used to configure the device before normal operation. initialization mode is the default mode following reset and can also be activated by programming the mode<2:0> bits to <1xx> in the ctrl0 register. switching to initialization mode resets the receiver and transmitter. during initialization mode, the error counters are held reset. normal mode is the standard operating mode of the HI-3110. in this mode, the HI-3110 can transmit, receive and acknowledge messages from the can bus, handling all aspects of the can protocol. normal mode is activated by programming the mode<2:0> bits to <000> in the ctrl0 register. loopback mode is used for self-test. the transceiver digital input is fed back to the receiver without being transmitted to the bus. messages are transmitted from the transmit fifo in the usual way and received by the receive fifo as if they were received from a remote node on the bus. acceptance filters can be set up to accept or reject specific messages into the fifo and all interrupt flags are set as required in the usual way. while in this mode, any bus activity is ignored. loopback is activated by programming the mode<2:0> bits to <001> in the ctrl0 register. monitor mode (also known as listen-only or silent mode) allows the HI-3110 to monitor all bus activity without disturbing the bus. no messages or dominant bits (such as ack or active error frame bits) are transmitted to the bus while in this mode. also, the error counters are reset and deactivated. messages from the bus are received in the same way as normal mode and messages that are not acknowledged by another node on the bus are ignored i.e. any frame containing an error will be ignored. acceptance filters can be set up to reject or accept specific messages into the fifo and all interrupt flags are set as required in the usual way. monitor mode is activated by programming the mode<2:0> bits to <010> in the ctrl0 register. the HI-3110 can be placed in a low power sleep mode if there is no bus activity and the transmit fifo is empty. in this mode, the internal oscillator and all analog circuitry (transceiver) are off, drawing typically less than 20 a. note that the spi bus is active during sleep mode, so it is possible for the host to communicate with the HI-3110 while it is asleep (e.g. load transmit fifos). sleep mode is exited by selecting an alternative mode of operation, or automatic wake up following bus activity can be enabled by setting the wakeup bit in the ctrl0 register - in this case . the device will wake up in monitor mode. note that it will take a finite time for the oscillator and analog circuitry to come back on line. since the internal oscillator takes a finite time to wake up, the message which caused the wake-up may not be stored. sleep mode is activated by programming the mode<2:0> bits to <011> in the ctrl0 register. however, the actual mode change will only occur whenever the can bus is quiet. if the chip is transmitting, the mode change is delayed until the transmission is complete. if there is bus activity, the mode change is delayed until the receiver protocol control detects an inter-message gap. the HI-3110 supports standard, extended and remote frames, as defined in the can specification is0 11898- 1:2003(e) (also known as can 2.0b). can frames are encoded according to the non-return-to- zero (nrz) method with bit stuffing. nrz means that the modes of operation can protocol overview initialization mode normal mode loopback mode monitor mode sleep mode bit encoding bit timing registers and acceptance filters and masks can only be modified in this mode.  HI-3110 holt integrated circuits 5
generated bit level is constant during the total bit time and consecutive bits do not return to a neutral or rest condition. this means that a bit stream of 1s or 0s appears continuous on the bus. a logic 0 is called a dominant bit and a logic 1 is called a recessive bit. bit stuffing is used to ensure frequent enough transitions occur to achieve synchronization. every time a transmitter detects five consecutive bits of the same polarity in the bit stream to be transmitted, it inserts a bit of opposite polarity into the actual transmitted bit stream. this bit stuffing rule applies to the start-of-frame field, arbitration field, control field, data field and crc sequence. the crc delimiter, ack field and end-of-frame fields are of fixed form and not stuffed (see below for definition of these fields). furthermore, error frames and overload frames are also of fixed form and not stuffed. an example of how the bits in a stuffed bit stream might look is shown below. 0010101 1111 0000 1100000 11000 0 = dominant bit, = dominant stuffed bit. 1 = recessive bit, = recessive stuffed bit. the standard data frame is shown in figure 2. the frame starts with a start-of-frame (sof) bit. this is a dominant bit that identifies the start of the data frame on the bus. the sof is followed by the 12-bit arbitration field. the arbitration field consists of an 11-bit identifer, id28 - id18, and the remote transmission request (rtr) bit. the rtr bit is used to distinguish between a data frame (rtr bit dominant, logic 0) and a remote frame (rtr bit recessive, logic 1). following the arbitration field is the 6-bit control field. the first bit of the control field is the identifier extension flag bit (ide). this is used to distinguish between standard and extended identifiers and must be dominant (logic 0) for standard data frames. the next bit, r0, is specified by the can protocol as a reserved bit for future expansion. this bit must be transmitted dominant, but receivers must be capable of receiving either a dominant or recessive bit. the final 4 bits of the control field make up the data length code (dlc). the binary value of this 4-bit field specifies the number of data bytes in the data payload (0 - 8 bytes). all binary combinations greater than or equal to < 1000> specify 8 bytes of data. after the control field is the data field, which contains a data payload equal to the number of bytes specified by the dlc (see note above). the data field is followed by the 16-bit cyclic redundancy check (crc) field. this is used to check transmission errors by computing a 15-bit crc sequence from the previous bit stream (sof, arbitration field, control field and data field, excluding stuff bits). the last bit in the crc field is the crc delimiter bit (always recessive). after the crc field is the acknowledge field (ack field). the first bit is the ack slot bit. a transmitting node sends a recessive bit (logic 1) during the ack slot. any node which receives the message error-free acknowledges the reception by placing a dominant bit (logic 0) in the ack slot, over-writing the recessive bit of the transmitter. the final bit in the ack field is a recessive ack delimiter bit. therefore, the dominant ack slot bit is surrounded on each side by a recessive bit. each data frame is delimited by an end-of-frame field (eof). the eof consists of seven recessive bits. following the eof, there is a gap to the next frame called the interframe space (ifs) . the ifs consists of two bit fields, intermission and bus-idle. the intermission consists of three recessive bits, however the following notes apply: a) detection of a dominant bit on the bus at the third slot is interpreted as a sof, b) detection of a dominant bit in either the first or second slots results in generation of an overload frame (see below). the bus idle period is of arbitrary length and consists of recessive bits. a dominant bit detected during this period is interpreted as a sof. the extended data frame is shown in figure 3. in this frame format, sof is followed by a 32-bit arbitration field consisting of a 29-bit identifier, id28 - id0. the first 11 most significant bits of the id are know as the base identifier. this is followed by the substitute remote request (srr) bit, which is defined as recessive. following the srr bit is the ide bit, which is defined as recessive for extended data frames. note that the srr bit is in the same slot as the rtr bit of the standard frame and the ide bits are also in corresponding slots. this means if standard and extended identifier data frames with identical base identifiers are transmitted simultaneously, the standard identifier data frame will win arbitration (see bitwise arbitration section below). the srr and ide bits are followed by the remaining 18 bits of the identifier (extended id) and the last bit of the arbitration field is the rtr bit. the rtr bit has the same function as in the standard frame format. following the arbitration field is the 6-bit control field. the first two bits, r1 and r0, are specified by the can protocol as reserved bits for future expansion. both these bits must be transmitted dominant, but receivers must be able to receive all combinations of dominant or recessive bits. the final 4 bits of the control field is the data length code (dlc). the oi i o i standard data frame note: extended data frame message frames HI-3110 holt integrated circuits 6
binary value of this 4-bit field specifies the number of data bytes in the data payload (0 - 8 bytes). all binary combinations greater than or equal to <1 0 0 0> specify 8 bytes of data. the remaining fields of the extended data frame (data field, crc field, acknowledge field, eof field and ifs field) are constructed in the same way as the standard frame format. the remote frame is shown in figure 4. the function of remote frames is to allow a receiver which periodically receives certain types of data to request that data from the transmitting source. the identifier of the remote frame must be identical to the identifier of the requested transmitting nodes data frame and the data length code (dlc) should be equal to the dlc of the requested data. for this reason, arinc 825 strongly discourages the use of remote frames. the format of a remote frame is identical to the format of the corresponding data frame except the remote frame has no data payload. remote frames and data frames are distinguished by a recessive rtr bit in the remote frame. this means if a receiver sends a remote frame and the sending node transmits at the same time, the sending node (with a dominant rtr bit) will win arbitration and the requesting node will receive the desired data immediately. the error frame is shown in figure 5. any node detecting an error generates an error frame. the error frame consists of two fields, the error flag field and the error delimiter. the type of error flag field depends on the error status of the node, error-active or error-passive (see below). an error- active node generates an active error flag and an error- passive node generates a passive error flag. an active error flag consists of 6 consecutive dominant bits. this condition violates the rule of bit-stuffing and causes all other nodes on the bus to generate error flags, known as echo error flags. therefore, the error flag field will consist of the superposition of different error flags sent by individual nodes, resulting in a minimum of 6 and maximum of 12 consecutive dominant bits. the error flag field is followed by the error delimiter, consisting of 8 recessive bits. a passive error flag consists of 6 recessive bits. this is followed by the 8 recessive bits of the error delimiter. therefore, an error frame sent by an error- passive node consists of 14 consecutive recessive bits. since this will not disturb the bus, a transmitting node will continue to transmit unless it detects the error itself, or another error-active node detects the error. if the passive error flag is generated by a receiver, it cannot prevail over any other activity on the bus. therefore, it must wait for 6 consecutive bits of equal polarity before completing the error flag. if the passive error flag is generated by a transmitter, the bit stuffing rule is violated and it will cause other nodes to generate error flags. two exceptions to this rule are a) the passive error flag starts during arbitration and another node prevails and begins transmitting, and b) the error flag starts less than 6 bits before the end of the crc sequence and the last bits of the crc sequence all happen to be recessive. the overload frame is shown in figure 6. it has the same format as the active error frame, consisting of an overload flag field and an overload delimiter. the overload flag consists of 6 consecutive dominant bits. this condition violates the rule of bit-stuffing and causes all other nodes on the bus to generate echo flags, similar to the active error flag echos. therefore, the overload flag field will consist of the superposition of different overload flags sent by individual nodes, resulting in a minimum of 6 and maximum of 12 consecutive dominant bits. the overload flag is followed by the overload delimiter, consisting of 8 recessive bits. an overload frame, unlike an error frame, can only be generated during the interframe space. there are two types of overload frame: , resulting from a) detection of a dominant bit during the first or second bit of intermission, b) detection of a dominant bit at the last (seventh) bit of eof in received frames, or c) detection of a dominant bit at the last (eighth) bit of an error delimiter or overload delimiter. the reactive overload frame is started one bit after detecting any of the above dominant bit conditions. a node which is unable to begin reception of the next message due to internal conditions may request a delay by transmitting a maximum of two consecutive overload frames. the requested overload frame must be started at the first bit of an expected intermission. the HI-3110 will never initiate an overload frame unless reacting to one of the conditions in case 1) above. initiation of overload frames is prohibited by arinc 825 since they increase the network loading. note: remote frame simultaneous transmission of remote frames with the same identifier and different dlcs will lead to unresolvable collisions on the bus. error frame active error flag: passive error flag: notes: overload frame 1) reactive overload frame 2) requested overload frame. note 1): note 2): HI-3110 holt integrated circuits 7
standard data frame key. sof start-of-frame idxx identifier bit xx rtr remote transmission request bit ide identifier extension flag r0 reserved bit 0 dlcx data length code bit x crc del cyclic redundancy check delimiter ack slot bit acknowledge slot bit ack del acknowledge delimiter eof end-of-frame ifs interframe space figure 2. standard frame format. ...... sof 0 id28 id18 id23 rtr ide r0 dlc3 dlc0 crc del ack slot bit ack del 11 4 8 8 15 7 eof crc field data field control field arbitration field base identifier data length code 12 6 8n (0 n 8)  16 00 1 11111111111 data frame (44 + 8n bits) ifs reserved bit intermission bus idle or sof ..... HI-3110 holt integrated circuits 8
extended data frame key. sof start-of-frame idxx identifier bit xx srr substitute remote request bit ide identifier extension flag rtr remote transmission request bit r1 reserved bit 1 r0 reserved bit 0 dlcx data length code bit x crc del cyclic redundancy check delimiter ack slot bit acknowledge slot bit ack del acknowledge delimiter eof end-of-frame ifs interframe space figure 3. extended frame format. .... 1 sof 0 id28 id18 id23 srr ide r1 dlc3 dlc0 crc del ack slot bit ack del 11 4 8 8 15 7 eof crc field data field control field arbitration field base identifier data length code 32 6 8n (0 n 8)  16 0 data frame (64 + 8n bits) id17 id9 id0 rtr r0 11 18 extended identifier reserved bits 1 1 1 1 1 1 1 1 1 11 ifs intermission bus idle or sof ........ HI-3110 holt integrated circuits 9
remote frame figure 4. remote frame format (extended identifier). 1 0 id28 id18 id23 srr ide r1 dlc3 dlc0 crc del ack slot bit ack del 11 4 15 7 eof crc field control field arbitration field base identifier data length code 32 6 16 1 remote frame with extended id (64 bits) id17 id9 id0 rtr r0 11 ifs 18 extended identifier reserved bits 1 1 1 1 1 1 1 1 1 11 no data field. see regarding data length code. note intermission bus idle or sof ..... sof HI-3110 holt integrated circuits 10
error frame figure 5. error frame format. .... 0 id28 id18 id23 srr ide r1 dlc3 dlc0 11 4 8 8 data field control field arbitration field base identifier data length code 32 6 8n (0 n 8)  0 data frame with error detected during data transmission id17 id9 id0 rtr r0 11 18 extended identifier reserved bits sof .... 6 8 error frame up to 6 bits error echo flag active error flag error delimiter 00000000 00111111 11 error flag field 1 11 intermission HI-3110 holt integrated circuits 11
overload frame figure 6. overload frame format 7 eof 11111111 ifs .... 0 data frame or remote frame illegal dominant bit in ifs .... 6 8 overload frame up to 6 bits overload echo flag overload flag overload delimiter 00000000 00111111 11 overload flag field 1 11 intermission HI-3110 holt integrated circuits 12
bit wise arbitration the can standard resolves data contention on the bus using a scheme called carrier sense multiple access/collision detection-carrier resolution (csma/cd- cr). each node waits for a period without bus activity (bus idle state) before attempting transmission. every node on the bus has equal access to the bus for transmitting. collisions occur if two nodes attempt to transmit at the same time. collisions are resolved by bitwise arbitration. highest priority messages (lowest binary identifiers) are sent first without delay and lower-priority messages are automatically re-transmitted later. a dominant bit (logic 0) has priority over a recessive bit (logic 1). bitwise arbitration works by comparing each nodes transmitted data bit by bit. all nodes are synchronized by adjusting individual bit times as a function of bit time quanta (see section on bit timing). synchronization takes place on recessive to dominant edges. a hard synchronization at the start of each frame and subsequent re-synchronizations during a message frame ensures corresponding bits match in time during a given transmission cycle. when a node transmits a recessive bit on the bus, but detects a dominant bit on its receiver, it realizes arbitration is lost and it immediately ceases transmission and becomes a receiver. it will then wait for the next bus idle state and attempt to re- transmit. eventually, lower priority messages will gain access to the bus. figure 7 shows an example of how this works for a frame with a standard identifier. carrier sense: multiple access: collision detection: collision resolution: figure 7. bitwise arbitration. txcan: node 1 txcan: node 2 txcan: node 3 can bus differential signal (not to scale) node 2 loses arbitration node 3 loses arbitration start-of-frame standard id arbitration field rtr id18 id28 1 0 1 0 1 0 HI-3110 holt integrated circuits 13
bit timing the can protocol supports a broad range of bit rates, from a few khz up to 1mhz ( the minimum bit rate of the hi- 3110 is limited to 40khz by the permanent dominant timeout protection of the transceiver). every node on the network has its own clock generator (typically a quartz oscillator), however the bit rate must obviously be the same for every node on the bus. therefore, each can node must be configurable to generate the nominal bit rate as a function of its own oscillator frequency, f . this is done by generating a time quanta (tq) clock, whose period t is related to the oscillator frequency by a baud rate prescaler value, brp as follows: the tq clock is used to construct the bit time in terms of time quanta, such that one time quantum, tq, equals one tq clock period, t , as shown in figure 8 below. the can system nominal bit rate (br) is defined in terms of the nominal bit time, t , as therefore, the nominal bit rate is related to the tq clock period by the following relationship the can standard divides the bit time into four segments, namely, synchronization segment (sync seg), propagation time segment (prop seg), phase buffer segment 1 (phase seg1) and phase buffer segment 2 (phase seg2). this is illustrated in figure 8. the HI-3110 fixes the sync seg at 1tq. prop seg and phase seg1 are treated as one time segment, tseg1, which is programmable from 2tq to 16tq. phase seg2 is a second time segment, tseg2, which is programmable from 2tq to 8tq ( not all combinations are valid, see below for examples). the sync seg is the first segment of the bit time and is used to synchronize the various nodes on the bus. a bit edge is expected to occur within the sync seg. the prog seg is used to compensate for physical delays on the bus, which include signal propagation delay time on the bus and internal node delay times. for two nodes a and b communicating on the bus, prog seg must be greater than or equal to the sum of both nodes internal delays plus twice the bus line propagation delay between the two nodes. note: note: osc tq tq b synchronization segment (sync seg) propagation time segment (prog seg) br = 1/t (2) b br = 1/(t x (number of time quanta per bit)) (3) tq t = brp/f (1) tq osc 2? figure 8. can bit time t tq t osc osc tq clock baud rate prescaler sample point tq tseg1 = prop seg + phase seg 1 tseg2 = phase seg2 sync seg nominal bit time, t b tseg1 tseg2 sync seg HI-3110 holt integrated circuits 14
phase buffer segment 1 and phase buffer segment 2 (phase seg1 and phase seg2) sample point phase errors (e) synchronization examples the phase buffer segments are used to compensate for phase errors on the bus. phase seg1 can be lengthened or phase seg2 can be shortened duringthe re-synchronization bit period automatically by the HI-3110 so that the bit time can be adjusted to account for phase errors. the upper limit by which the lengthening ( or shortening) can occur is set by the explained in more detail below. the sample point is the point in the bit time at which the bit logic level is interpreted. it is located at the end of phase seg1. the HI-3110 also allows three sample points to be taken. in this case, two other sample points are taken prior to the end of phase seg1 (at one-half tq intervals) and the value of the bit is determined by a majority decision. three sample points are typically only used at low bit rates. arinc 825 states that there shall be only one sample per bit, taken at the end of phase seg1. the time required for the logic to determine the bit level of a sampled bit is known as the . according to the standard, ipt can be up to 2tq. since phase seg2 occurs after the sample point, phase seg2 must be greater than or equal to the worst case ipt (2tq). if a bit edge occurs within the sync seg as expected, there is no phase error (e = 0). however, if an edge occurs outside sync seg, a phase error is deemed to have occurred. if the edge occurs after sync seg (edge occurs late), the phase error is positive (e > 0), whereas if the edge occurs before sync seg (edge occurs early), the phase error is negative (e < 0). synchronization is carried out only on recessive-to- dominant bit edges and is used to ensure the bit times of all nodes on the bus are synchronized. this is necessary for arbitration and message acknowledgment to function properly. only one synchronization can occur per bit time. forces the bit edge to lie within the sync seg, regardless of the phase error. hard synchronization only occurs on reception of the start of a frame. results in the shortening or lengthening of the bit time such that the position of the sample point is shifted with respect to the edge causing the re-synchronization. , phase seg 1 is lengthened by the magnitude of the phase error, up to a maximum of sjw. , phase seg 2 is shortened by the magnitude of the phase error, up to a maximum of sjw. assume sample point (at end of tseg1) will occur at 75% of bit time. hence, for sync seg = 1tq, tseg1 = 5 tq and tseg2 = 2tq. therefore, total bit time will be 8tq. chose sjw = 1tq. for 125khz, the bit time needs to be 1/125khz = 8s. hence, 1tq = 1s. using equation (1) => brp = 6. assume sample point (at end of tseg1) will occur at 75% of bit time. for sync seg = 1tq, then tseg1 = 11tq and tseg2 = 4tq. therefore, total bit time will be 16tq. chose sjw = 1tq. for 1mhz, the bit time needs to be 1/1mhz = 1s. hence, 1tq = 62.5ns. using equation (1) => brp = 1. choosing the sample point at 75% of the bit time is a requirement of arinc 825. the oscillator frequency must be chosen such that a valid value of brp (integer) can generate the tq clock (e.g. in example 2 above, using a lower oscillator frequency than 32mhz results in brp < 1). re-synchronization jump width (sjw), note: information processing time (ipt) hard synchronization re-synchronization for e > 0 for e < 0 1) can bit rate (br) = 125khz, f = 12mhz. 2) can bit rate (br) = 1mhz, f = 32mhz. note: osc osc HI-3110 holt integrated circuits 15
register r/w description spi write spi read op-code op-code ctrl0 r/w configuration register 0 0x14 0xd2 ctrl1 r/w configuration register 1 0x16 0xd4 btr0 r/w bit timing register 0 0x18 0xd6 btr1 r/w bit timing register 1 0x1a 0xd8 tec r/w transmit error counter register 0x26 0xec rec r/w receive error counter register 0x24 0xea messtat r message status register n/a 0xda err r error register n/a 0xdc intf r interrupt flag register n/a 0xde inte r/w interrupt enable register 0x1c oxe4 statf r status flag register n/a 0xe2 statfe r/w status flag enable register 0x1e 0xe6 gpine r/w general purpose pins enable register 0x22 0xe8 timerub r free-running timer upper byte register n/a 0xfa* timerlb r free-running timer lower byte register n/a 0xfa* registers this section describes the HI-3110 registers. all register bits are active high. unless otherwise indicated, all registers are reset in software to the logic zero condition after master reset. for all registers, bit 7 is the most significant: note: free-running counter registers, timerub:timerlb are read with a single spi op-code (0xfa) as a 16- bit value in two spi data bytes. power-on-reset following power-on, the hi-5110 will automatically perform a master reset and return all registers to the default state. following reset, the device will default to initialization mode to allow programming of control and bit timing registers (see following sections). HI-3110 holt integrated circuits 16
HI-3110 bit name r/w default description 7-5 mode2:0 4 wakeup r/w 1,0,0 r/w 0 3 reset r/w 0 2 bor r/w 0 1-0 tdiv1:0 r/w 0,0 mode select bits <2:0>. these bits select the mode of operation as follows. 000: normal mode. normal can operation. 001: loopback mode. the transceiver digital input is fed back to the receiver without disturbing the bus. this mode can be used for test purposes, allowing the HI-3110 to receive its own messages. 010: monitor mode. the HI-3110 can be set up to monitor bus activity without transmitting to the bus (no ack bits or error frames are sent in this mode). receive filters can be programmed in initialization mode to buffer selected messages. 011: sleep mode. the HI-3110 can be placed in a low power sleep mode if there is no bus activity and the transmit fifo is empty. sleep mode is exited by selecting an alternative mode of operation, or automatic wake up following bus activity can be enabled by setting the wakeup bit. the device will wake up in monitor mode. 1xx: initialization mode. the device be in this mode for bit timing and filter set-up. this is the default following reset. the host exits initialization mode by selecting an alternative mode of operation. wake-up enable. when this bit is set, the HI-3110 will automatically wake up from sleep mode to monitor mode when it detects activity on the bus. 1 = automatic wake-up enabled. when the device wakes up from sleep mode, the wakeup bit will be set in the interrupt flag register, intf. a hardware interrupt can be generated at the int pin by setting the wakeupie bit in the interrupt enable register. 0 = automatic wake-up not enabled. in this case, wake-up from sleep mode is initiated by the host by selecting another mode of operation. when wakeup = 0, all bus activity is ignored. setting this bit causes HI-3110 reset to occur. the bit should then be cleared by writing a logic 0 following reset. a reset may also be performed by setting the mr pin or issuing the mr spi command, 0x56. 1 = master reset (same as mr pin = 1). 0 = normal operation (same as mr pin = 0). bus-off reset. when this bit is set, automatic bus-off recovery is initiated following 128 occurrences of 11 consecutive recessive bits on the bus. the HI-3110 will become error-active with both its error counters set to zero and resume operation in normal mode. 1 = automatic bus-off recovery. 0 = the host is responsible for bus-off recovery (default). time tag clock division bits <1:0>. see timerub and timerlb register descriptions. 00 = no division (counts every bit clock). 01 = divide by 2 (counts every 2 bit clocks). 10 = divide by 4 (counts every 4 bit clocks). 11 = divide by 8 (counts every 8 bit clocks). must 76543210 msb lsb wakeup reset bor ttdiv1 ttdiv0 mode0 mode1 mode2 control register 0: ctrl0 (write, spi op-code 0x14) (read, spi op-code 0xd2) holt integrated circuits 17
HI-3110 bit name 7 txen 6 tx1m r/w default description r/w 0 r/w 0 5 osm r/w 0 4 filton r/w 0 3 oscoff r/w 0 2 not used r/w 0 1-0 clkdiv1:0 r/w 00 transmission enable. this bit is logically ored with the txen pin. when this bit is asserted, each message in the fifo will be sequentially loaded to the transmit buffer and sent if the bus is available. if this bit is not set, a transmission can be enabled by either the txen pin or the tx1m bit. if the txen pin is pulled low during a transmission, the current message being transmitted will be completed. any additional messages in the fifo will not be transmitted. 1 = enable transmission and send any messages in fifo (until empty if txen is held set). 0 = wait for transmission enable or tx1m bit set before sending next message in fifo. enable transmission of only next message. this bit is applicable only if txen = 0. it is reset automatically upon completion of a successful transmission or by initiation of transmission if the osm bit is set. 1 = enable transmission of only next message in fifo when txen = 0. 0 = wait for transmission enable or tx1m bit set before sending next message in fifo. one-shot mode enable. if enabled, the controller transmits only once and does not attempt re-transmission upon loss of arbitration or error. this feature is necessary to support the implementation of fixed time slots in the time-triggered can standard (ttcan). 1 = enable one-shot mode. 0 = messages will re-transmit according to can protocol. filter on enable. this bit is set to turn on the HI-3110 can id filtering mechanism. the default after reset is filton = 0, meaning filtering is turned off and every valid can message is accepted into the receive fifo. 1 = enable can id filtering. 0 = no can id filtering (every valid message accepted into receive fifo). oscillator off. this bit should be set to a one if an external clock is used. in this case the external clock is connected to the oscin pin and oscout should be left floating. 1 = shuts off external oscout pin. 0 = oscout pin enabled. external clkout division bits <1:0> 00: divide by 1. 01: divide by 2. 10: divide by 4. 11: divide by 8. note: the device must be in initialization mode in order to program the acceptance filters and masks. 76543210 msb lsb filton oscoff - clkdiv1 clkdiv0 osm tx1m txen control register 1: ctrl1 (write, spi op-code 0x16) (read, spi op-code 0xd4) holt integrated circuits 18
HI-3110 holt integrated circuits 19 btr0 defines the value of the re-synchronization jump width (sjw) and the baud rate prescaler (brp). this register can be read anytime and written only in init mode (mode<2:0> bits set to <1xx> in the ctrl0 register). re-synchronization jump width bits <1:0>. these bits are used to compensate for phase shifts between different clock oscillators on the bus. they define the maximum number of time quanta (tq) a bit can be shortened or lengthened to allow a node achieve re-synchronization to the edge of an incoming signal. note that one time quantum (tq) is the single unit of time within a bit time (see bit timing section). 00: sjw = 1 tq 01: sjw = 2 tq 10: sjw = 3 tq 11: sjw = 4 tq arinc 825 states that the re-synchronization jump width shall be 1 tq baud rate prescaler bits <5:0>. the baud rate prescaler relates the system oscillator frequency, f , to the can bit time as described in the bit timing section. 000000: brp = 1 000001: brp = 2 000010: brp = 3 000011: brp = 4 . etc. . 111111: brp = 64 sjw bits <1:0> note: brp bits <5:0> osc bit name 7-6 sjw1:0 5-0 brp5:0 r/w default description r/w 0 r/w 0 76543210 msb lsb brp4 brp3 brp2 brp1 brp0 brp5 sjw0 sjw1 bit timing register 0: btr0 (write, spi op-code 0x18) (read, spi op-code 0xd6)
HI-3110 btr1 configures the can protocol bit timing segments in terms of time quanta (tq) and sets the number of sampling points. this register can be read anytime and written only in init mode (mode<2:0> bits set to <1xx> in the ctrl0 register). samples per bit. this bit configures how many samples are taken per bit. 1 = three samples per bit. 0 = one sample per bit. arinc 825 states that there shall be only one sample per bit. furthermore, it is recommended to sample only once at higher can bit rates. bit sampling occurs at the end of phase seg1. time segment 2 bits <2:0>. tseg2 = phase seg2 of the can protocol bit timing specification. bits tseg2-2:0 specify the number of time quanta in phase seg2. not all combinations are valid, since phase seg 2 must be greater than sjw. 000: not valid 001: tseg2 = 2 tq clock cycles 010: tseg2 = 3 tq clock cycles . etc. . 111: tseg2 = 8 tq clock cycles time segment 1 bits <3:0>. tseg1 = prop seg + phase seg1 of the can protocol bit timing specification. bits tseg1-3:0 specify the number of time quanta in prop seg + phase seg1. note: not all combinations are valid, since prop seg + phase seg1 phase seg 2. 0000: not valid 0001: tseg1 = 2 tq clock cycles 0010: tseg1 = 3 tq clock cycles 0011: tseg1 = 4 tq clock cycles 0100: tseg1 = 5 tq clock cycles . . . 1111: t seg1 = 16 tq clock cycles arinc 825 states that the sample point shall not be less than 75% of the bit time. in this case, tseg1 should be a minimum of 5tq for phase seg2 (tseg2) = 2tq and sjw = 1tq. notes: note: tseg2 bits <2:0> the can protocol states that the minimum number of tq in a bit time shall be 8. tseg1 bits <3:0> notes:  bit name 7 samp 6-4 tseg2-2:0 r/w default description r/w 0 r/w 0 3-0 tseg1-3:0 r/w 0 76543210 msb lsb tseg2-0 tseg1-3 tseg1-2 tseg1-1 tseg1-0 tseg2-1 tseg2-2 samp bit timing register 1: btr1 (write, spi op-code 0x1a) (read, spi op-code 0xd8) holt integrated circuits 20
HI-3110 holt integrated circuits 21 the tec register reflects the current value of the can transmit error counter. this register can be written by spi command for test purposes. transmit error counter bits <7:0>. 0 tec 95: error active status. 96 tec 127: error active status. error warning flag, errw, set in statf register. this may be used to generate a hardware interrupt if errwie bit is set in statfe register. 128 tec 255: error passive status. transmit error passive flag, txerrp, set in err register. errp also set in statf register. this may be used to generate a hardware interrupt if errpie bit is set in statfe register. tec > 255: bus-off status. bus-off flags, busoff, set in err and statf registers. the latter may be used to generate a hardware interrupt if busoffie bit is set in statfe register. the HI-3110 will, after entering bus-off state, automatically recover to error active status without host intervention if the bor bit is set in control register ctrl0 and 128 x 11 consecutive recessive bits are detected on the bus. if the bor bit is not set, bus-off recovery is managed by the host.    bit name 7-0 tec7:0 r/w default description r/w 0x00 76543210 msb lsb transmit error counter register: tec (write, spi op-code 0x26) (read, spi op-code 0xec) tec7:0 the rec register reflects the current value of the can receive error counter. this register can be written by spi command for test purposes. receiver error counter bits <7:0>. 0 rec 95: error active status. 96 rec 127: error active status. error warning flag, errw, set in statf register. this may be used to generate a hardware interrupt if errwie bit is set in statfe register. 128 rec 255: error passive status. receive error passive flag, rxerrp, set in err register. errp also set in statf register. this may be used to generate a hardware interrupt if errpie bit is set in statfe register.    bit name 7-0 tec7:0 r/w default description r/w 0x00 76543210 msb lsb receive error counter register: rec (write, spi op-code 0x24) (read, spi op-code 0xea) rec7:0
HI-3110 holt integrated circuits 22 this register reflects transmission status and also which filters were responsible for filtering valid received messages. it is read-only. filter hit bits <3:0>. these bit combinations indicate which filters were responsible for filtering received messages . 0000: no filter matches the received message. 1000: filter 0 matches, but filters 1, 2, 3, 4, 5, 6 or 7 may also match. 1001: filter 1 matches, filter 0 does not, but filters 2, 3, 4, 5, 6 or 7 may also match. 1010: filter 2 matches, filters 0 and 1 do not, but filters 3, 4, 5, 6 or 7 may also match. 1011: filter 3 matches, filters 0 through 2 do not, but filters 4, 5, 6 or 7 may also match. 1100: filter 4 matches, filters 0 through 3 do not, but filters 5, 6, or 7 may also match. 1101: filter 5 matches, filters 0 through 4 do not, but filters 6 or 7 may also match. 1110: filter 6 matches, filters 0 through 5 do not, but filter 7 may also match. 1111: filter 7 matches, all other filters do not. filter checking is carried out by the internal logic in order of increasing filter number. once a filter matches, no further checking takes place. therefore, in the case of more than one filter matching for a given message, the lowest filter will be given priority and the filhit3:0 bits will reflect this value. message tag bits <1:0>. these bits will reflect the last two bits of the host assigned message tag of the last successful transmission. transmission status bits <1:0>. these bits reflect the transmission status. 00: transmission not enabled (txen = 0). 01: transmission is enabled (txen = 1), but fifo is empty. 10: waiting to transmit or re-transmit. 11: transmitter is currently transmitting a message or a flag. note: bit name 7-4 filhit3:0 3-2 mtag1:0 r/w default description r0 r0 1-0 tstat1:0 r 0 76543210 msb lsb filhit0 mtag1 mtag0 tstat1 tstat0 filhit1 filhit2 filhit3 message status register: messtat (read only) (read, spi op-code 0xda)
HI-3110 holt integrated circuits 23 the err register indicates can bus status and protocol errors. it is read only. all bits default to 0 at power up and maintain their current status following reset. bits 4:0 are reset following a host read. bus-off status indicator. this bit is set when tec > 255. node is in bus off condition. the bit is reset by HI-3110 when a successful bus recovery sequence is detected (128 x 11 consecutive recessive bits). d the filhit3:0 bits will reflect this value. transmit error passive status indicator. this bit is set when 128 tec 255 receive error passive status indicator. this bit is set when 128 rec 255. bit error. a bit error was detected in a transmitted frame (the bit observed on the bus was opposite to what was expected). form error. a form error was detected in a receive frame. crc error. a crc error was detected in a receive frame. acknowledgement error. an ack error was detected in a receive frame. stuff error. a bit stuffing error was detected in a received frame.   . bit name 7 busoff 6 txerrp r/w default description r0 r0 5 rxerrp r 0 4 biterr r 0 3 frmerr r 0 2 crcerr r 0 1 ackerr r 0 0 stuferr r 0 76543210 msb lsb biterr frmerr crcerr ackerr stuferr rxerrp txerrp busoff error register: err (read only) (read, spi op-code 0xdc)
HI-3110 holt integrated circuits 24 the interrupt flag register intf bits will be set by HI-3110 when the corresponding related events described below occur. if individual bits in the interrupt enable register inte are set, the int pin will be latched high when any of the corresponding intf bits are set. this alerts the host that one of the conditions below has occurred. reading this register will clear all bits and reset the int pin. the value of individual bits in the intf register may also be reflected on the gp1 and gp2 pins by setting the correct bit combinations in the general purpose pins enable register gpine (see section general purpose pins enable register). message received in temporary receive buffer (unfiltered). this bit is set when a valid message is received in the temporary receive buffer. bus error. this bit is set when a bus error occurs. bits 4:0 in the err register can be read to determine the source of the error. mode change bit. this bit is set when the mode of operation is changed. any pending transmissions in the transmit fifo will be completed (fifo will be emptied) before the mode change occurs. wake-up detected. this bit is set when the HI-3110 wakes up from sleep mode in response to bus activity. filter 1 passed a valid message. this bit is set when receive filter one passes a valid message. filhit3:0 bits will also be set to <1001> in the message status register, messtat. filter 0 passed a valid message. this bit is set when receive filter zero passes a valid message. filhit3:0 bits will also be set to <1000> in the message status register, messtat. message received in fifo (filtered). this bit is set when a valid message passes the filter criteria and is passed from the temporary receive buffer to the receive fifo. successful transmission complete. this bit is set when a message is successfully transmitted. bit name 7 rxtmp 6 rxfifo r/w default description r0 r0 5 txcplt r 0 4 buserr r 0 3 mchg r 0 2 wakeup r 0 1 f1mess r 0 0 f0mess r 0 76543210 msb lsb buserr mchg wakeup f1mess f0mes txcplt rxfifo rxtmp interrupt flag register: intf (read only) (read, spi op-code 0xde)
HI-3110 setting bits in the interrupt enable register causes a hardware interrupt to be generated at the int pin when the corresponding bits in the interrupt flag register are set by HI-3110 as a result of the related events described below. enable interrupt when a message is received in the receive fifo (filtered). setting this bit causes a hardware interrupt to be generated at the int pin when the rxfifo bit is set in the intf register. enable interrupt when a message is received in the temporary receive buffer (unfiltered). setting this bit causes a hardware interrupt to be generated at the int pin when the rxtmp bit is set in the intf register. enable interrupt when a successful transmission is complete. setting this bit causes a hardware interrupt to be generated at the int pin when the txcplt bit is set in the intf register. enable interrupt when a bus error occurs. setting this bit causes a hardware interrupt to be generated at the int pin when the buserr bit is set in the intf register. enable interrupt when a mode change occurs. setting this bit causes a hardware interrupt to be generated at the int pin when the mchg bit is set in the intf register. enable interrupt when HI-3110 wakes up from sleep mode. setting this bit causes a hardware interrupt to be generated at the int pin when the wakeup bit is set in the intf register. enable interrupt when filter one passes a message. setting this bit causes a hardware interrupt to be generated at the int pin when the f1mess bit is set in the intf register. enable interrupt when filter zero passes a message. setting this bit causes a hardware interrupt to be generated at the int pin when the f0mess bit is set in the intf register. bit name 7 rxtmpie 6 rxfifoie r/w default description r/w 0 r/w 0 5 txcpltie r/w 0 4 buserrie r/w 0 3 mchgie r/w 0 2 wakeupie r/w 0 1 f1messie r/w 0 0 f0messie r/w 0 76543210 msb lsb buserrie mchgie wakeupie f1messie f0mesie txcpltie rxfifoie rxtmpie interrupt enable register: inte (write spi op-code 0x1c) (read, spi op-code 0xe4) holt integrated circuits 25
HI-3110 the status flag register statf bits will be set by HI-3110 when the corresponding related events described below occur. unlike the interrupt flag register, reading this register will not clear all bits. these bits are reset automatically by HI-3110 when the described status for each bit changes (e.g. if txmty is set and a message is loaded to the transmit fifo, txmty will be automatically cleared by HI-3110). if individual bits in the status flag enable register statfe are set, the stat pin will pulse high when any of the enabled statf bits are set. the value of individual bits in the statf register may also be reflected on the gp1 and gp2 pins by setting the correct bit combinations in the general purpose pins enable register gpine. transmit fifo is empty. this bit is set when the transmit fifo is empty. this is the default following reset. transmit fifo is full. this bit is set when the transmit fifo is full. transmit history fifo full. this bit is set when the transmit history fifo is full. up to eight messages can be stored in the transmit history fifo (note: a user generated message tag and a time tag are stored with each message). error warning flag. this bit is set when 96 (tec or rec) 127. error passive indicator. this bit is set when the device enters error passive mode. busoff indicator. this bit is set when the device enters bus-off state. receive fifo empty. this bit is set when the receive fifo is empty. this is the default following reset. receive fifo full. this bit is set when the receive fifo is full.  bit name 7 txmty 6 txfull r/w default description r1 r0 5 txhisf r 0 4 errw r 0 3 errp r 0 2 busoff r 0 1 rxfmty r 1 0 rxffull r 0 76543210 msb lsb errw errp busoff rxfmty rxffull txhisf txfull txmty status flag register: statf (read-only) (read, spi op-code 0xe2) holt integrated circuits 26
HI-3110 setting bits in the status flag enable register causes the stat pin to go high when any of the corresponding bits in the status flag register are set by HI-3110 as a result of the related events described below. transmit fifo empty status flag enable. setting this bit causes the status of the txmty bit in the status flag register to be output on the stat pin. transmit fifo full status flag enable. setting this bit causes the status of the txfull bit in the status flag register to be output on the stat pin. transmit history fifo full status flag enable. setting this bit causes the status of the txhisf bit in the status flag register to be output on the stat pin. error warning status flag enable (96 (tec or rec) 127). setting this bit causes the status of the errw bit in the status flag register to be output on the stat pin. error passive status flag enable. setting this bit causes the status of the errp bit in the status flag register to be output on the stat pin. bus-off status flag enable. setting this bit causes the status of the busoff bit in the status flag register to be output on the stat pin. receive fifo full status flag enable. setting this bit causes the status of the rxffull bit in the status flag register to be output on the stat pin.  receive fifo empty status flag enable. setting this bit causes the status of the rxfmty bit in the status flag register to be output on the stat pin. bit name 7 txmtyfe 6 txfullfe r/w default description r/w 1 r/w 0 5 txhisffe r/w 0 4 errwfe r/w 0 3 errpfe r/w 0 2 busofffe r/w 0 1 rxfmtyfe r/w 1 0 rxffullfe r/w 0 76543210 msb lsb errwfe errpfe busofffe rxfmtyfe rxffullfe txhisffe txfullfe txmtyfe status flag enable register: state (write, spi po-code 0x1e) (read, spi op-code 0xe6) holt integrated circuits 27
HI-3110 holt integrated circuits 28 setting bits in the general purpose pins enable register allows the user to reflect the values of the interrupt flag bits in the intf register or the status flag bits in the statf register on the gp1 andgp2 pins. reflect status of interrupt flag bits in intf or status flag bits in statf on gp2 pin as follows: 0000: gp2 pin is asserted when f0mess bit is set in register intf. 0001: gp2 pin is asserted when f1mess bit is set in register intf. 0010: gp2 pin is asserted when wakeup bit is set in register intf. 0011: gp2 pin is asserted when mchg bit is set in register intf. 0100: gp2 pin is asserted when buserr bit is set in register intf. 0101: gp2 pin is asserted when txcplt bit is set in register intf. 0110: gp2 pin is asserted when rxfifo bit is set in register intf. 0111: gp2 pin is asserted when rxtmp bit is set in register intf. 1000: gp2 pin is asserted when rxffull bit is set in register statf. 1001: gp2 pin is asserted when rxfmpty bit is set in register statf. 1010: gp2 pin is asserted when busoff bit is set in register statf. 1011: gp2 pin is asserted when errp bit is set in register statf. 1100: gp2 pin is asserted when errw bit is set in register statf. 1101: gp2 pin is asserted when txhisf bit is set in register statf. 1110: gp2 pin is asserted when txfull bit is set in register statf. 1111: gp2 pin is asserted when txmpty bit is set in register statf. reflect status of interrupt flag bits in intf or status flag bits in statf on gp1 pin as follow: 0000: gp1 pin is asserted when f0mess bit is set in register intf. 0001: gp1 pin is asserted when f1mess bit is set in register intf. 0010: gp1 pin is asserted when wakeup bit is set in register intf. 0011: gp1 pin is asserted when mchg bit is set in register intf. 0100: gp1 pin is asserted when buserr bit is set in register intf. 0101: gp1 pin is asserted when txcplt bit is set in register intf. 0110: gp1 pin is asserted when rxfifo bit is set in register intf. 0111: gp1 pin is asserted when rxtmp bit is set in register intf. 1000: gp1 pin is asserted when rxffull bit is set in register statf. 1001: gp1 pin is asserted when rxfmpty bit is set in register statf. 1010: gp1 pin is asserted when busoff bit is set in register statf. 1011: gp1 pin is asserted when errp bit is set in register statf. 1100: gp1 pin is asserted when errw bit is set in register statf. 1101: gp1 pin is asserted when txhisf bit is set in register statf. 1110: gp1 pin is asserted when txfull bit is set in register statf. 1111: gp1 pin is asserted when txmpty bit is set in register statf. bit name 7-4 gpine7:43:0 3-0 gpine3:0 r/w default description r/w 0000 r/w 0000 76543210 msb lsb general purpose pins enable register: gpine (write, spi op-code 0x22) (read, spi op-code 0xe8) gpine7:4 gpine3:0
HI-3110 bit name 7-0 t15:8 r/w default description r/w 0x00 free running timer upper byte, bits <15:8>. the 16-bit free-running timer starts counting from zero following reset. the timer counts linearly up to 0xffff and then wraps around to 0x0000. the timer is clocked by the HI-3110 bit clock and continuously increments by the bit rate (default). the user may program the timer to 2, 4 or 8 bit clocks by setting the ttdiv1:0 bits in control register 0, ctrl0. the timer may be reset by the host after any interrupt condition (e.g. reading the receive buffer, transmit fifo empty, etc), by issuing an spi instruction (see table 1, spi instruction set). note: a timer overrun is not flagged by the HI-3110. 76543210 msb lsb free-runningg timer upper byte: timerub (read-only) (read, spi op-code 0xfa) t15:8 bit name 7-0 t7:0 r/w default description r/w 0x00 free running timer lower byte, bits <7:0>. 76543210 msb lsb free-runningg timer lower byte: timerlb (read-only) (read, spi op-code 0xfa) t7:0 holt integrated circuits 29
msb lsb msb lsb high z high z cs so si 01234567 sck (spi mode 0) figure 9. generalized single-byte transfer using spi protocol mode 0 serial peripheral interface (spi) basics cpol- cpha a rising edge on chip select terminates the serial transfer and reinitializes the HI-3110 spi for the next transfer. if goes high before a full byte is clocked by sck, the incomplete byte clocked into the device si pin is discarded. in the general case, both master and slave simultaneously send and receive serial data (full duplex), per figure 9 below. however the HI-3110 operates half duplex, maintaining high impedance on the so output, except when actually transmitting serial data. when the HI-3110 is sending data on so during read operations, activity on its si input is ignored. figures 10 and 11 show actual behavior for the HI-3110 so output. cs cs cs cs the HI-3110 uses an spi synchronous serial interface for host access to internal registers and data fifos. host serial communication is enabled through the chip select ( ) pin, and is accessed via a three-wire interface consisting of serial data input (si) from the host, serial data output (so) to the host and serial clock (sck). all read / write cycles are completely self-timed. the spi (serial peripheral interface) protocol specifies master and slave operation; the HI-3110 operates as an spi slave. the spi protocol defines two parameters, cpol (clock polarity) and cpha (clock phase). the possible combinations define four possible "spi modes". without describing details of the spi modes, the HI-3110 operates in mode 0 where input data for each device (master and slave) is clocked on the rising edge of sck, and output data for each device changes on the falling edge (cpha = 0, cpol = 0). be sure to set the host spi logic for mode 0. as seen in figure 9, spi mode 0 holds sck in the low state when idle. the spi protocol transfers serial data as 8-bit bytes. once chip select is asserted, the next 8 rising edges on sck latch input data into the master and slave devices, starting with each bytes most-significant bit. the HI-3110 spi can be clocked at 20 mhz. multiple bytes may be transferred when the host holds low after the first byte transferred, and continues to clock sck in multiples of 8 clocks. cs serial peripheral interface HI-3110 holt integrated circuits 30
figure 11. 2-byte write example cs so si sck spi mode 0 msb lsb 0 12 3 4 5 67 high z 0 12 3 4 5 670 12 3 4 5 67 msb lsb msb lsb data byte 0 data byte 1 op-code byte host may continue to assert here to write sequential byte(s) when allowed by the spi instruction. each byte needs 8 sck clocks. cs figure 10. single-byte read from a register cs so si sck msb lsb 0 12 3 4 5 67 high z high z 0 12 3 4 5 67 msb lsb msb lsb data byte op-code byte host may continue to assert here to read sequential word(s) when allowed by the instruction. each word needs 8 sck clocks. cs HI-3110 spi commands for the HI-3110, each spi read or write operation begins with an 8-bit command byte transferred from the host to the device after assertion of . since HI-3110 command byte reception is half-duplex, the host discards the dummy byte it receives while serially transmitting the command byte. figures 10 and 11 show read and write timing as it appears for a single-byte and dual-byte register operation. the command byte is immediately followed by a data byte comprising the 8-bit data word read or written. for a single register read or write, is negated after the data byte is transferred. multiple byte read or write cycles may be performed by transferring more than one byte before is negated. tables 2 - 5 define the required number of bytes for each instruction. note: spi instruction op-codes not shown in tables 2 - 5 are reserved and must not be used. further, these op- codes will not provide meaningful data in response to read commands. cs cs cs cs two instruction bytes cannot be ?chained? ; must be negated after the command, then reasserted for the following read or write command. host serial peripheral interface, cont. HI-3110 holt integrated circuits 31
table 1. spi instruction set read temporary receive buffer with time tag 0x42 15 bytes (see table 5, bytes 2-16) read temporary receive buffer without time tag 0x44 13 bytes (see table 5, bytes 4-16) read next fifo message with time tag 0x46 16 bytes (see table 5, bytes 1-16) read next fifo message without time tag 0x48 14 bytes (see table 5, byte s 1 & 4-16) read next fifo message data only with time tag 0x4a 11 bytes (see table 5, bytes 1-3 & 9-16) read next fifo message data only without time tag 0x4c 9 bytes (see table 5, byte s 1 & 9-16) read filter 0 id 0xa2 6 bytes (see table 4a) read filter 1 id 0xa4 6 bytes (see table 4a) read filter 2 id 0xa6 6 bytes (see table 4a) read filter 3 id 0xa8 6 bytes (see table 4a) read filter 4 id 0xaa 6 bytes (see table 4a) read filter 5 id 0xac 6 bytes (see table 4a) read filter 6 id 0xae 6 bytes (see table 4a) read filter 7 id 0xb2 6 bytes (see table 4a) read mask 0 id 0xb4 6 bytes (see table 4b) read mask 1 id 0xb6 6 bytes (see table 4b) read mask 2 id 0xb8 6 bytes (see table 4b) read mask 3 id 0xba 6 bytes (see table 4b) read mask 4 id 0xbc 6 bytes (see table 4b) read mask 5 id 0xbe 6 bytes (see table 4b) read mask 6 id 0xc2 6 bytes (see table 4b) read mask 7 id 0xc4 6 bytes (see table 4b) read control register 0 0xd2 1 byte (see ctrl0 register definition) read control register 1 0xd4 1 byte (see ctrl1 register definition) read bit timing register 0 0xd6 1 byte (see btr0 register definition) read bit timing register 1 0xd8 1 byte (see btr1 register definition) read message status register 0xda 1 byte (see messtat register definition) read error register 0xdc 1 byte (see err register definition) read interrupt flag register 0xde 1 byte (see intf register definition) read status flag register 0xe2 1 byte (see statf register definition) read interrupt enable register 0xe4 1 byte (see inte register definition) read status flag enable register 0xe6 1 byte (see statfe register definition) spi instruction command data field bit content hex read commands HI-3110 holt integrated circuits 32
table 1. spi instruction set (cont.) read general purpose pins enable register 0xe8 1 byte (see gpine register definition) read rec register 0xea 1 byte (see rec register definition) read tec register 0xec 1 byte (see tec register definition) read transmit history fifo 0xee 3 bytes (see table 3) reserved (factory test purposes only) 0x4e 13 bytes reserved (factory test purposes only) 0xf4 1 byte reserved (factory test purposes only) 0xf6 1 byte read bus-off recessive count 0xf8 1 byte read time tag 0xfa 2 bytes (see timerub and timerlb register definitions) abort transmission (stops current transmission and resets txen & tx1m) 0x52 none (see ctrl1 register definition) reset (clear) transmit fifo (resets txen & tx1m, but completes current transmission) 0x54 none master reset 0x56 none reset time tag counter 0x58 none (see timerub and timerlb register definitions) reset receive fifo 0x5a none spi instruction command data field bit content hex read commands (ctd) reset commands HI-3110 holt integrated circuits 33
table 1. spi instruction set (cont.) write transmit fifo 0x12 n x (4 to 12 bytes) for std frame or n x (6 to 14 bytes) for ext frame (n = number of loaded messages ,1-8) write control register 0 0x14 1 byte (see ctrl0 register definition) write control register 1 0x16 1 byte (see ctrl1 register definition) write bit timing register 0 0x18 1 byte (see btr0 register definition) write bit timing register 1 0x1a 1 byte (see btr1 register definition) write interrupt enable register 0x1c 1 byte (see inte register definition) write status flag enable register 0x1e 1 byte (see statfe register definition) write general purpose pins enable register 0x22 1 byte (see gpine register definition) write rec register (test only) 0x24 1 byte (see rec register definition) write tec register (test only) 0x26 1 byte (see tec register definition) write filter 0 id 0x62 6 bytes (see table 4a) write filter 1 id 0x64 6 bytes (see table 4a) write filter 2 id 0x66 6 bytes (see table 4a) write filter 3 id 0x68 6 bytes (see table 4a) write filter 4 id 0x6a 6 bytes (see table 4a) write filter 5 id 0x6c 6 bytes (see table 4a) write filter 6 id 0x6e 6 bytes (see table 4a) write filter 7 id 0x72 6 bytes (see table 4a) write mask 0 id 0x74 6 bytes (see table 4b) write mask 1 id 0x76 6 bytes (see table 4b) write mask 2 id 0x78 6 bytes (see table 4b) write mask 3 id 0x7a 6 bytes (see table 4b) write mask 4 id 0x7c 6 bytes (see table 4b) write mask 5 id 0x7e 6 bytes (see table 4b) write mask 6 id 0x82 6 bytes (see table 4b) write mask 7 id 0x84 6 bytes (see table 4b) spi instruction command data field bit content hex write commands HI-3110 holt integrated circuits 34
HI-3110 transmit buffer message transmission sequence loading the transmit fifo via spi transmit history fifo the HI-3110 transmit buffer consists of an eight message fifo which allows transmission of up to eight messages. messages are loaded to the transmit fifo via spi instruction. similarly, an spi instruction resets (clears) the transmit fifo. transmission from the fifo is enabled by asserting the txen pin or setting the txen bit in ctrl1. if transmission is enabled, all loaded messages are automatically sent if the bus is available. if txen is not enabled, messages will not be sent until txen is set. if txen is reset, a single message may also be sent by setting the tx1m bit in ctrl1. a simplified transmission flow is illustrated in figure 9. the next message to be transmitted (or current message trying to gain access to the bus) is loaded from the fifo to the transmit buffer. this will happen automatically if txen or tx1m are set in ctrl1. if the bus is available, the message is sent. the transmission can be aborted at any time using the abort transmission spi command (see table 1). care should be exercised when using the command as it may cause other nodes on the bus to generate error frames if the message is aborted prior to completing transmission. the current transmission sequence can also be paused by resetting the txen bit in ctrl1 (or pulling txen pin low). in this case, the current message will be completed and any remaining messages in the transmit fifo will not be transmitted. if the current message transmission goes ahead, two things can happen: a) the message is successful, and the transmit buffer is now ready to receive the next message from the transmit fifo. the transmit history fifo is updated (see below). b) the message is not successful due to lost arbitration or message error. if arbitration is lost, the current message stays in the transmit buffer for re-transmission provided osm is not set. if osm is set, the next message is loaded to the transmit buffer for transmission, provided txen or tx1m is set. in this case, the current message is lost and it is up to the user to re-load and initiate a re-transmission. flag buserr is set in the interrupt flag register. an error frame is sent and an optional hardware interrupt may also be generated at the int pin if enabled in the interrupt enable register (bit buserrie = 1). if there is an error, the current message stays in the transmit buffer for automatic re-transmission in accordance with the can protocol, provided osm is not set. if osm is set, the next message is loaded to the transmit buffer for transmission, provided txen or tx1m is set. in this case, the current message is lost and it is up to the user to re-load and initiate a re-transmission. the transmit fifo is loaded via spi instruction (see table 1). the data format for the spi instruction is illustrated in table 2. the host simply needs to issue the spi write command 0x12 followed by the spi data field as described in table 2. for standard frames, the spi data field has the format shown in table 2(a). for extended frames, the spi data field has the format shown in table 2(b). the HI-3110 will automatically interpret standard or extended frames by decoding the ide bit. the HI-3110 also decodes the data length code (dlc) and ignores data bytes greater than the dlc value ( a dlc of greater than 8 is automatically assumed to be equal to 8). the user has the option of assigning a unique message tag to each message which can be used later to identify successfully transmitted messages from the transmit history fifo. up to 8 frames can be loaded to the transmit fifo for transmission. the byte format should be as shown in table 2 and the pin should remain low during the entire spi sequence. the transmit history fifo can optionally be used by the host to keep a record of up to eight successfully transmitted messages. a user-assigned message tag and a time tag are stored for each message. the data format is shown in table 3. the time tag is assigned from the value of the free running counter upon receipt of an ack bit. the transmit history fifo is cleared when read by spi command 0xee (see table 3). i. lost arbitration: ii. message error: note: cs HI-3110 holt integrated circuits 35
HI-3110 transmit message flow diagram figure 12. simplified transmission flow diagram is can bus available? yes no transmit buffer tx1m = 1? no load transmit buffer with next message transmit buffer keeps current message transmit message successful message transmission? yes no write transmit history fifo message error or lost arbitration? lost arbitration message error is buserrie set? yes generate interrupt at pin no no set buserr flag osm=1? yes yes write tx fifo message 1 message 2 message 3 message 4 message 5 message 6 message 7 message 8 txen = 1? yes no osm=1 osm=0 HI-3110 holt integrated circuits 36
a) standard frame transmit byte byte content bit description (?x? = don?t care) * note: 1 message tag* 2 id28 to id21 3 id20 to id18, rtr, ide 4 r0, dlc3 to dlc0 5 *data byte 1 . 6 data byte 2 . . . 7 data byte 3 . . . 8 data byte 4 . . . 9 data byte 5 . . . 10 data byte 6 . . . 11 data byte 7 . 12 data byte 8 the message tag is a host-assigned identifier that is stored along with a time tag in the transmit history fifo. it can be used by the host to log successfully transmitted messages at a later time. id28 id21 mt2 xx mt7 mt3 mt5 mt6 mt4 db7 db0 db7 db0 id20 id18 xx rtr ide x table 2. spi transmit data format r0 dlc0 xx x dlc3 dlc2 dlc1 HI-3110 holt integrated circuits 37
b) extended frame transmit byte content bit description (?x? = don?t care) * note: 1 message tag* 2 id28 to id21 3 id20 to id18, srr, ide, id17 to id15 4 id14 to id7 5 id6 to id0, rtr 6 r0, r1, dlc3 to dlc0 7 data byte 1 . . 8 data byte 2 . . . 9 data byte 3 . . . 10 data byte 4 . . . 11 data byte 5 . . . 12 data byte 6 . . . 13 data byte 7 . 14 data byte 8 the message tag is a host-assigned identifier that is stored along with a time tag in the transmit history fifo. it can be used by the host to log successfully transmitted messages at a later time. id28 id21 mt2 xx mt7 mt3 mt5 mt6 mt4 db7 db0 db7 db0 id6 rtr id0 id14 id7 id20 id18 srr ide id17 id15 table 2. spi transmit data format r0 dlc0 xx dlc3 dlc2 dlc1 r1 HI-3110 holt integrated circuits 38
HI-3110 receive buffers and frame acceptance filters receive buffers acceptance filters and masks may only be programmed when the device is in initialization mode. filter and mask id format reading the receive buffers via spi the HI-3110 has an extremely flexible receive buffer and id filter scheme. the basic concept is shown in figure 13. all valid received messages (both standard or extended frames) are stored in the temporary receive buffer before passing through the filter bank. the host can read the temporary receive buffer using spi commands 0x42 or 0x44 (see table 1). the filter bank must be enabled by setting the filton bit in control register, ctrl1. the default after reset is filton = 0, which disables the filter bank and stores every valid message received in the fifo. with filtering enabled, it is possible to filter up to eight extended identifiers plus the first two associated data bytes. any filtered messages will be passed to the receive fifo. up to eight messages can be stored in the receive fifo. all valid received messages have a 16-bit time tag appended following transmission of the ack bit. the user can decide to retrieve the time tag or not via dedicated spi instructions (see table 1). the HI-3110 allows filtering of up to 8 unique extended frames with the first two data bytes. filtering is enabled by setting the filton bit in control register 1, ctrl1. it the filton bit is not set, then filtering is globally disabled and all can ids are accepted. there is a specific spi instruction for loading and reading each filter and mask. the format is the same for both standard and extended ids and is shown in table 4. bits specific to extended ids should be written as zeros for standard ids. the filter mechanism works by comparing the filter id to the can message id. if the corresponding bit in the mask id is logic one, then the can id bit must match the filter id for acceptance to occur. if a mask id bit is logic zero, then acceptance will occur regardless of the value of the can id bit. in this case, the filter bits are dont care. following reset, all eight filter and mask registers should be loaded before enabling the filton bit. , therefore the filton bit may be set to enable filtering using the pre-reset mask and filter values. table 1 summarizes the spi instructions for reading the receive buffers. the host has a choice of retrieving a message with a 16-bit time tag or not. the receive data format is shown in table 5. the first data byte identifies whether the frame was standard or extended format and the filhit2:0 bits identify which filter passed the message; <000> to <111>. if more than one filter passed the message, the lowest value will be given priority and be identified by the filhit2:0 bits. as can be seen in table 5, bits specific to extended frames will be read as zeros for standard frames. if the received data does not contain an 8 byte payload (8 data bytes), the HI-3110 will pad the remaining data bytes with zeros. the host should keep low for the duration of the spi sequence. note that following reset, filter and mask bits are not reset cs table 3. transmit history fifo data format 1 message tag 2 time tag upper byte 3 time tag lower byte byte content bit description (?x? = don?t care) tt15 tt8 tt14 tt13 tt12 tt11 tt10 tt9 tt7 tt0 tt6 tt5 tt4 tt3 tt2 tt1 mt2 xx mt7 mt3 mt5 mt6 mt4 HI-3110 holt integrated circuits 39
load receive fifo match ? match ? match ? messtat register filhit3:0 bits filhit3:0 = 1000 filhit3:0 = 1001 filhit3:0 = 1111 ........ yes no yes yes no no message not stored temporary receive buffer id acceptance filter 0 id mask filter 0 id acceptance filter 1 id mask filter 1 id acceptance filter 7 id mask filter 7 ........ figure 13. receive buffer structure HI-3110 holt integrated circuits 40
b) mask id format byte content bit description (?x? = don?t care) 1 id28 to id21 2 id20 to id18, rtr, ide, id17 to id15 (note: id17 to id15 should be written as zeros for standard id) 3 id14 to id7 (note: written as zeros for standard id) 4 id6 to id0 (note: written as zeros for standard id) 5 data byte 1 6 data byte 2 mdb7 mdb0 mdb7 mdb0 mid14 mid7 mid28 mid21 rtr mid20 mid18 mid17 mid15 ide mid6 mid0 x a) filter id format byte content bit description (?x? = don?t care) 1 id28 to id21 2 id20 to id18, rtr, ide, id17 to id15 (note: id17 to id15 should be written as zeros for standard id) 3 id14 to id7 (note: written as zeros for standard id) 4 id6 to id0 (note: written as zeros for standard id) 5 data byte 1 6 data byte 2 table 4. spi filter and mask id format fdb7 fdb0 fdb7 fdb0 fid14 fid7 fid28 fid21 rtr fid20 fid18 fid17 fid15 ide fid6 fid0 x HI-3110 holt integrated circuits 41
1 message tag (note: this byte does not apply to the temporary receive buffer) 2 time tag upper byte (note: this byte only applies to time tag spi instructions; see table 1) 3 time tag lower byte (note: this byte only applies to time tag spi instructions; see table 1) 4 id28 to id21 5 id20 to id18, srr, ide, id17 to id15 (note: srr and id17 to id15 are read as zeros for std frames) 6 id14 to id7 (read as zeros for std frames) 7 id6 to id0, rtr (note: id6 to id0 are read as zeros for std frames) 8 r0, r1, dlc3 to dlc0 (note: r1 is read as zero for std frames) 9 data byte 1 . . 10 data byte 2 . . . 11 data byte 3 . . . 12 data byte 4 . . . 13 data byte 5 . . . 14 data byte 6 . . . 15 data byte 7 . 16 data byte 8 byte content bit description (?x? = don?t care) db7 db0 db7 db0 r0 dlc0 xx dlc3 dlc2 dlc1 r1 id6 rtr id0 id14 id7 id20 id18 srr ide id17 id15 xx ide filhit1 filhit2 filhit0 x x tt15 tt8 tt14 tt13 tt12 tt11 tt10 tt9 tt7 tt0 tt6 tt5 tt4 tt3 tt2 tt1 id28 id21 table 5. spi receive data format HI-3110 holt integrated circuits 42
serial output timing diagram cs sck so chz t hi impedance sckh t t dv lsb cph t t sckl msb hi impedance serial input timing diagram cs sck si chh t csh t msb css t ds tt dh lsb cph t sckr t sckf t timing diagrams HI-3110 holt integrated circuits 43
notes: 1. human body model (hbm). stresses above those listed under "absolute maximum ratings" may cause permanent damage to the device. these are stress ratings only. functional operation of the device at these or any other conditions above those indicated in the operational sections of the specifications is not implied. expos ure to absolute maximum rating conditions for extended periods may affect device reliability. 2. junction temperature t is defined as t = t + p . j j amb r , where t is the ambient or operating temperature, p is the power dissipation and r is a fixed thermal resistance value which depends on the package and circuit board mounting conditions th amb th absolute maximum ratings maximum junction temperature storage temperature range: -65c to +150c soldering temperature: operating temperature range: (industrial).........................-40c to +85c (hi-temp) ........................-55c to +125c ......................................................175c 2 (plastic - leads).............10 sec. at +280c (plastic - body) .....................+220c max. supply voltages, vdd:..........................................................................7v vlogic:....................................................................7v :................................................. dc voltages at canh, canl -58v to +58v electrostatic discharge (esd) , pins canh, canl ........................+/- 6kv all other pins ...............................................................................+/- 4kv 1 dc voltages at all other pins:.........................................-0.5v to v +0.5v dd (voltages referenced to gnd = 0v) HI-3110 holt integrated circuits 44
dc electrical characteristics v = 3.3v or 5v, v = operating temperature range (unless otherwise noted). logic dd 5v. limits parameter conditions unit symbol min typ max supply voltage v 3.15 5.25 v v 4.75 5.25 v supply current all inputs/outputs open except the oscillator configured for 24mhz and with 60 ohm resistors at canh and canl to split i v current: operating 0.6 2 ma sleep 5.0 25 a i v current: operating 6.3 15 ma sleep 15 30 a v 0.7v v v 0.3v v input source current i v = 0v, v = 5.0v (pull down) 100 200 a all other inputs 1.5 a input sink current i v = 5.0v, v = 5.0v -1.5 a sck, si, mr (pull up) -200 -100 a txen (pull up) -100 -50 a pull-up current ( ) i v = v -200 -30 a pull-down current (si, sck, mr pins) i v = gnd 30 200 a (txen) i v = gnd 15 100 a v i = -1ma 0.9v v v i = 1ma 0.1v v output sink current i v = 0.4v 1.6 ma output source current i v = v - 0.4v -1 ma so output leakage i v = v tri-state condition 10 a oscin feedback resistor r control register 1, bi t3=0 input at v or 0v 4 5 6 m control register 1, bi t3=1 input to v only (pull down) 4 5 6 m oscout drive current i v = 3.3v, v = 3.3v, v = 0.5v 0.85 1.1 ma v = 3.3v, v = 0v, v = 2.8v -0.7 -0.45 ma supply logic inputs oscillator pins logic dd logic logic dd dd ih logic il logic ih il logic il ih logic pu pu logic pd pd pd pd oh oh logic ol ol logic ol out oh out dd sol out logic osc logic logic osc logic in out logic in out high-level input voltage low-level input voltage high-level output voltage low-level output voltage cs cs cs logic outputs HI-3110 holt integrated circuits 45
dc electrical characteristics (ctd.) v = 3.3v or 5v, v = operating temperature range (unless otherwise noted). logic dd 5v. limits parameter conditions unit symbol min typ max canh dominant output voltage vo(canh) see fig 14. rl = 60 3 3.6 4.25 v canl dominant output voltage vo(canl) 0.5 1.4 1.75 v matching of dominant output voltage, vcc vcanh vcanl vom see fig. 14. rl = 60 100 0 150 mv dominant differential output voltage vdiff(d)(o) 45 < rl < 65 1.5 3 v recessive differential output voltage vdiff(r)(o) no load 50 0 50 mv recessive output voltage vcanh(r), no load, see fig. 14 vcanl(r) 0.5vdd 3 v dominant differential input voltage (receiver) vdiff(d)(i) 1 2 v < vcanh, vcanl < + 12 v 0.9 v recessive differential input voltage (receiver) vdiff(r)(i) 1 2 v < vcanh, vcanl < + 12 v 0 0.5 v differential input hysteresis (receiver) vdiff(hys) 1 2 v < vcanh, vcanl < + 12 v 70 mv see fig. 18 input leakage current icanh, icanl vd d=0v (unpowered node) 200 + 200 a short circuit output current io(sc) pin canh, vcanh = -58 v 200 ma pin canl, vcanl = +58 v 200 ma see fig. 16 common mode input resistance rin(cm) 1 2 v < vcanh, vcanl < + 12 v 1 25 45 k rin(cm)(m) vcanh = vcanl 3 + 3 % differential input resistance rin(diff) 1 2 v < vcanh, vcanl < + 12 v 2 50 75 k common mode input capacitance (1mbit/s data rate) c 20 pf differential input capacitance (1mbit/s data rate) c 10 pf bus lines (pins canh, canl) 1 1 in(cm) diff(cm) ?? ? , see fig. 15 ? 2 ? ? ? ? ? ?5 deviation between common mode input resistance ? ?5 split pin output voltage vsplit normal mode 2.4 2.5 2.6 v see fig. 17 HI-3110 holt integrated circuits 46
ac electrical characteristics limits parameter symbol units min typ max spi interface timing sck clock frequency f sck clock period active after last sck rising edge t 5 ns setup time to first sck rising edge t 10 ns hold time after last sck falling edge t 25 ns inactive between spi instructions t sck 20 mhz t50 ns 25 ns spi si data set-up time to sck rising edge t 5 ns spi si data hold time after sck rising edge t 5 ns sck rise time t 2 ns sck fall ime t 2 ns sck pulse width high t 25 ns sck pulse width low t 25 ns so valid after sck falling edge t 30 ns so high-impedance after sck falling edge t 25 ns bit time t 1 25 s bit rate f 40 1000 khz permanent dominant time-out t 0.3 2 6 ms cyc cph cs cs cs cs chh css csh ds dh sckr sckf sckh sckl dv chz bit bit dom(txd) can bus data rate time out HI-3110 v = 3.3v or 5v, v = operating temperature range (unless otherwise noted). logic dd 5v. holt integrated circuits 47
figure 15. can bus driver (dominant) test circuit figure 16. can bus driver short-circuit test figure 14. can bus driver circuit recessive dominant ~2.5v ~3.5v : v o(canh) ~1.5v: v o(canl) v o(canh) v o(canl) internal transceiver r l v diff(d)(o) canh 300 +/- 1%  300 +/- 1%  canl + _ v diff(d)(o) 0v internal transceiver r l -12v <= v <= +12v test 0v internal transceiver -58v or +58v canh canl + _ HI-3110 holt integrated circuits 48
figure 17. split-termination connection figure 18. can bus receiver common mode voltage test v i(canl) v diff(d)(i) canh canl rxd v= v diff(d)(i) i(canl) v+ i(canh) HI-3110 canh canl split rs=60  rs=60  internal transceiver figure 19. suggested crystal oscillator circuit HI-3110 oscin oscout r r = 1.5 m c1 = c2 = 10pf typ.  crystal resonator c1 c2 HI-3110 holt integrated circuits 49
additional package configurations and pinouts HI-3110 -12 split 13 gnd 14 gnd 15 canl 16 canl 17 canh 18 canh 19 vdd 20 vdd 21 -22 44 - 43 - 42 osco 41 vlogic 40 - 39 - 38 int 37 - 36 mr 35 - 34 - -1 -2 osci 3 gp1 4 -5 6 7 clkout 8 -9 -10 -11 gp2 txen 33 - 32 31 so 30 si 29 sck 28 - 27 stat 26 - 25 24 - 23 - cs - 3113pcx 44 pin plastic qfn, 7mm x 7mm 3111psx vlogic 1 oscout 2 oscin 3 gp1 4 gp2 5 txen 6 clkout 7 rxd 8 gnd 9 18 int 17 16 15 so 14 si 13 sck 12 stat 11 txd 10 - mr cs 3112psx vlogic 1 oscout 2 oscin 3 gp1 4 gp2 5 txen 6 clkout 7 gnd 8 canl 9 18 int 17 16 15 so 14 si 13 sck 12 stat 11 vdd 10 canh mr cs 18-pin plastic soic - wb package 18-pin plastic soic - wb package holt integrated circuits 50
ordering information hi-311xxxxx package description 18 pin plastic wide body soic (18hw) part number ps 44 pin plastic qfn (44pcs) (hi-3113 only) pc lead finish part number 100% matte tin (pb-free, rohs compliant) f tin / lead (sn / pb) solder blank description integrated transceiver with split pin option part number 3110 digital-only option, no transceiver 3111 integrated transceiver with clkout pin option 3112 integrated transceiver with both split & clkout pin options 3113 temperature range burn in -40c to +85c no -55c to +125c no t part number t i flow i -55c to +125c yes m m HI-3110 holt integrated circuits 51
revision history p/n rev date description of change a 09/27/11 updated dc electrical characteristics table. added m grade part to ordering information. added this revision history page. ds3110 new 09/7/10 initial release. holt integrated circuits 52 hi-3593
package dimensions 44-pin plastic chip-scale package inches (millimeters) package type: 44pcs bsc = ?basic spacing between centers? is theoretical true position dimension and has no tolerance. (jedec standard 95) .203 .006 (5.15 .15) .016 .002 (0.40 .05) .010 (0.25) .020 (0.50) .008 (0.2) .039 (1.00) .276 (7.00) bsc .203 .006 (5.15 .15) typ typ bottom view top view bsc .276 (7.00) bsc max electrically isolated heat sink pad on bottom of package. connect to any ground or power plane for optimum thermal dissipation. 18-pin plastic small outline (soic) - wb (wide body) inches (millimeters) package type: 18hw bsc = ?basic spacing between centers? is theoretical true position dimension and has no tolerance. (jedec standard 95) .454 .008 (11.531 .20) .4065 .0125 (10.325 .32) .292 .005 (7.417 .13) 0 to 8 .033 .017 (.838 .43) .090 .010 (2.286 .254) .0075 .0035 (.191 .089) .0105 .0015 (.2667 .038 .050 (1.27) bsc see detail a detail a .0165 .003 (.419 .09) holt integrated circuits 53


▲Up To Search▲   

 
Price & Availability of HI-3110

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X